آشنایی با عملکرد کادر Immediate در برنامه نویسی VBA با چند مثال کاربردی
آشنایی با کادر Immediate
کادر Immediate یکی از ابزارهای کاربردی در محیط اکسل است که می تواند چه برای برنامه نویسان VBA چه برای سایر افراد کاربردهای متعددی را داشته باشد .
پیش از این و در طی مطلبی در همین سایت به بررسی امکاناتی پرداختیم که با استفاده از آنها می توانستیم به تجزیه و تحلیل کدهای خود پرداخته و با استفاده از آنها فرآیند خطایابی را در کدهای خود به سرانجام برسانیم .
برای مطالعه مطلب مورد نظر اکیدا توصیه می نمایم که این مطلب را از طریق لینک زیر مطالعه نمایید .
مطلب مرتبط : نکات کاربردی در خطایابی کدهای VBA در اکسل .
اما امروز به طور اختصاصی می خواهیم به بررسی عملکرد کادر Immediate پرداخته و با استفاده از مثال هایی کاربردی با نحوه استفاده از این ابزار کارآمد در محیط ویرایشگر کدهای VBA اشنا شویم .
ابتدا از خود کلمه Immediate شروع کنیم .
این کلمه در زبان فارسی به معنای “سریع” و “آنی ” می باشد .
در واقع عملکرد این کادر نیز در نام این آن نهفته است.
چرا که فراخوانی کادر Immediate این امکان را برای شما فراهم می آورد که بتوانید پاسخی سریع و آنی از اجرای کدهای خود دریافت نمایید .
فراخوانی کادر Immediate
در خصوص فراخوانی این کادر به تفصیل در مطلب مربوط به نکات کاربردی در خطایابی کدهای VBA در اکسل صحبت شد .
اما در اینجا فقط در حد خیلی اجمالی به نحوه فراخوانی این کادر می پردازیم .
- نرم افزار اکسل خود را باز نمایید .
- کلیدهای ترکیبی ALT+F11 را بطور همزمان فشار دهید .
- با انجام مرحله قبل وارد محیط VBE می شوید .
- اکنون در این محیط کلید های ترکیبی CTRL+G را فشار دهید .
- با این کار کادر موسوم به Immediate به محیط کار شما اضافه می شود .
اکنون با این مقدمه برویم به سراغ مثال هایی کاربردی از کار با این کادر .
-
دریافت اطلاعاتی در خصوص فایل اکسل
همان گونه که در ابتدای این مطلب ذکر شد کادر Immediate فقط برای برنامه نویسان VBA کاربرد ندارد .
بلکه برای افرادی که فقط در محیط اکسل به کار می پردازند نیز می تواند مفید فایده واقع شود .
ساده ترین حالت کاربرد این کادر این است که با استفاده از آن می توانیم اطلاعاتی در خصوص فایل اکسلی که هم اکنون در حال کار با آن هستیم را بدست آوریم .
بعنوان مثال به قطعه کد زیر توجه نمایید .
? worksheets.count
اگر این خط کد را درون کادر Immediate منتقل نمایید فقط کافی است دکمه Enter را فشار دهید .
بعد از این کار برنامه قطعه کد شما را اجرا نموده و نتیجه را به شما نشان می دهد .
تصویر زیر نتیجه اجرای این کد را در برنامه اکسل من نشان می دهد .
همانگونه که تصویر فوق نیز بیان می کند در حال حاضر فایل اکسل من دارای ۵ شیت است .
اجازه بدهید کمی بیشتر بر روی این کد تمرکز نماییم .
اگر دقت کنید در ابتدای این کد از یک علامت سوال استفاده شده است ایتفاده از این علامت چه مفهومی دارد .
در واقع با استفاده از علامت به برنامه می گوییم که ما بدنبال پاسخ یک سوال می گردیم .
بعد از درج این کد کافی است سوال خود را درج کنیم .
ما در مثال قبل از برنامه سوال نمودیم که تعداد شیت های کاری موجود در فایل اکسل فعال ما چه تعداد است .
اجازه بدهید از برنامه سوالاتی دیگری را در همین قالب بپرسیم .
تصویر را در نظر بگیرید .
حال با در نظر گرفتن تصویر فوق سوالات زیر را کادر Immediate وارد می نماییم .
همانگونه که مشاهده می نمایید ما در این مثال از هیچ ماژولی که حاوی کد باشد استفاده ننمودیم .
اما در عین حال با استفاده از کادر Immediate توانستیم اطلاعات متعددی را در مورد خصوصیات سلول مورد نظر خود را بدست آوریم .
۲٫ اجرای یک خط از کد با استفاده از کادر Immediate
گاهی از اوقات شما ماژولی حاوی چندین خط کد دارید .
اما می خواهید عملکرد یک خط خاص را مورد بررسی قرار دهید . در حالت عادی شما باید یک روال را از ابتدا تا انتها اجرا نمایید تا عملکرد خط مورد نظر خود را در کنار سایر خطوط مشاهده نمایید .
اما به لطف وجود کادری به نام Immediate دیگر لازم نیست که تمامی خطوط را بخاطر مشاهده نتیجه یک خط اجرا نمایید.
بلکه کافی است خط مورد نظر از کد خود را بدون درج علامت سوال در ابتدای آن در این کادر وارد نمایید .
بعد از اجرای کد مشاهده خواهید نمود که تغییرات مورد نظر شما که فقط شامل همان یک خط از کد است به فایل شما اعمال می شود .
به تصویر زیر توجه کنید .
ما در اینجا یک روال داریم که حاوی سه خط کد مجزا است
اما فقز می خواهیم عملکرد خط سوم از این کدها را بررسی نماییم .
برای این کار فقط کافی است که خط کد مربوطه را کپی نموده و آن را عینا در کادر Immediate وارد کنیم .
بعد از زدن دکمه Enter فقط کافی است به فایل اکسل خود مراجعه و نتیجه کار را بررسی نماییم .
۳٫ . مشاهده اطلاعات Debug.Print
Debug.Print یکی از متدهایی است که با استفاده از ان می توان به بررسی عملکرد کدها پرداخت .
در واقع این قابلیت امکانی را فراهم می آورد که شما بتوانید خروجی یک روال و یا یک فرآیند محاسباتی را قبل از اجرا در محیط واقعی در خود ویرایشگر کدها مشاهده نماید .
Debug.Print نتیجه محاسبه را برای شما چاپ می کند .
اما منظظور از کلمه چاپ یا Print چیست ؟
منظور خروجی است که عبارت بالا برای شما نمایش می دهد و این نمایش در محیط کادر Immediate می باشد .
بعنوان مثال به کدهای درون تصویر زیر دقت نمایید .
در تصویر فوق تابعی به نام softpluse تعریف نمودیم
این تابع دارای یک سری متغیر و یک فرآیند محاسباتی است .
بعد از اجرای این تابع می خواهیم خروجی آن را کنترل نماییم که آیا به درستی عمل می کند یا خیر .
برای این کار در انتهای خطوط کد از Debug.Print استفاده می کنیم .
بعد از اجرای تابع مشاهده خواهید نمود که خروجی تابع در کادر Immediate نمایش داده می شود .
۴٫اجرای یک ماکرو از طریق کادر Immediate
آخرین مثالی که با استفاده از آن به معرفی یکی دیگر از قابلیت های کادر Immediate می پردازیم به بررسی اجرای یک ماکرو در این کادر می پردازد .
برای این منظور به ماکروی موجود در تصویر زیر دقت نمایید .
در این کادر ما با یک ماکرو مواجهیم که در یک ماژول تعریف شده است.
این ماکرو قرار است از ما نام یک شیت فعال و یک سلول را در درون آن از ما بگیرد و در درون سلول مزبور عبارت “www.softpluse.ir” را درج نماید .
حال می خواهیم عملکرد این ماکرو را از طریق کادر Immediate تست نماییم .
برای این کار کافی است نام ماکروی مورد نظر را در کادر مربوطه بنویسیم .
در گام بعد لازم است تا یک صفحه کاری و یک سلول موجود در آن را بعنوان آرومان های مورد نیاز این کاکرو به آن معرفی نماییم .
بعد از انجام این کار و با زدن دکمه Enter ار به سلول معرفی شده مراجعه نماییم می توانیم نحوه عملکرد ماکروی خود را مشاهده نماییم .
آنچه که در این مطلب به آن پرداخته شد مثال هایی کاربردی از نحوه کار و استفاده از کادر Immediate در محیط اکسل بود .
در آینده باز هم مطالب مفید دیگری در خصوص نحوه خطایابی و کار با ابزار های مرتبط با آن در سایت قرار خواهد گرفت .
پس در آینده نیز همراه ما باشید .
دیدگاهتان را بنویسید